Methods and apparatus for multi-destination wireless transmissions

ABSTRACT

Methods and apparatus for multi-destination wireless transmissions as disclosed. An example multi-destination transmitter includes a direction determiner to determine directions for wireless transmission of data to destination devices and a transmission handler to: select a subset of the destination devices that are associated with different ones of a plurality of antennas as indicated by the directions determined by the direction determiner; and transmit the data to the subset of the destination devices via the plurality of antennas.

RELATED APPLICATIONS

This patent arises from a continuation of U.S. patent application Ser.No. 16/009,191, entitled METHODS AND APPARATUS FOR MULTI-DESTINATIONWIRELESS TRANSMISSIONS, filed Jun. 14, 2018, which arises from acontinuation of U.S. patent application Ser. No. 14/757,738, entitledMETHODS AND APPARATUS FOR MULTI-DESTINATION WIRELESS TRANSMISSIONS,filed Dec. 23, 2015. U.S. patent application Ser. Nos. 16/009,191 and14/757,738 are hereby incorporated by reference herein in its entirety.

FIELD OF THE DISCLOSURE

This disclosure relates generally to wireless transmissions, and, moreparticularly, methods and apparatus for multi-destination wirelesstransmissions.

BACKGROUND

In some wireless communication systems, a wireless device includesmultiple antennas to facilitate omnidirectional transmissions forcommunication with other devices. For example, in some InternationalElectrical and Electronics Engineer (IEEE) 802.11 protocols (e.g.,802.11ac), multiple antennas may be utilized to facilitate multipleinput multiple output (MIMO) data transmissions. MIMO refers to thetechnique of simultaneously sending/receiving more than one data signalon a radio channel via multipath propagation from multiple antennas.Utilizing multiple antennas provides increased communication range ascompared with a single omnidirectional antenna.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example system in which a first stationcommunicates with a second station and a third station.

FIG. 2 is a block diagram of an example system in which a first stationincludes a multi-destination transmitter for communicating with otherstations.

FIG. 3 is a block diagram of an example implementation of themulti-destination transmitter of FIG. 2.

FIG. 4 is a flow diagram representative of example machine readableinstructions that may be executed to implement the examplemulti-destination transmitter of FIGS. 2 and/or 3.

FIG. 5 is a block diagram of an example packet transmitted by theexample multi-destination transmitter of FIGS. 2 and/or 3.

FIG. 6 is a block diagram of an example processor system structured toexecute the example machine readable instructions represented by FIG. 4to implement the example multi-destination transmitter of FIGS. 2 and/or3.

DETAILED DESCRIPTION

As used herein, a station is any type of device that includes wirelesscommunication capabilities. For example, a station may be an accesspoint, a router, a mobile device, a computer, a laptop, etc. FIG. 1 is ablock diagram of an example system 100 in which a first station A 102 acommunicates with a second station B 102 b and a third station C 102 c.

Wireless communication systems, such as the example system 100, oftenencounter instances in which a station (e.g., the station A 102 a) is totransmit (e.g., broadcast) a data packet that is to be received bymultiple stations (e.g., the station B 102 b and the station C 102 c).In many instances, the omnidirectional transmission limit of 2.4 GHz and5 GHz wireless systems is acceptable. However, when transitioning tohigher frequency bands (e.g., 60 GHz and greater) the omnidirectionaltransmission limit often becomes small enough that the use ofomnidirectional transmissions in impractical. For example, asillustrated by the example omnidirectional transmission limit 104 ofFIG. 1, if station A 102 a were to broadcast a data packet usingomnidirectional transmission, the transmission would reach the station B102 b, but would not reach the station C 102 c.

Example methods and apparatus disclosed herein implement a newmulti-destination control physical layer (PHY) mode to facilitate astation simultaneously transmitting information to multiple otherstations. A station may transmit the same information to multiplestations or may transmit different information to each of multiplestations. As used herein, simultaneously transmitting the informationincludes transmitting substantially simultaneously, transmitting two ormore transmissions at least partially overlapping in time, etc.

As illustrated by example directional transmission limit A 106 directedto the example station B 102 b and example directional transmissionlimit B 108, by simultaneously, directionally transmitting datautilizing a multi-destination PHY mode, as disclosed herein, methods andapparatus disclosed herein facilitate extended range as compared with,for example, omnidirectional transmission without the delay incurred bydiscrete directional transmissions.

FIG. 2 is a block diagram of an example system 200 in which a firststation A 202 a includes a multi-destination transmitter 204 to transmitinformation to a second station B 202 b, a third station C 202 c, afourth station D 202 d, a fifth station E 202 e, a sixth station F 202f, and a seventh station G 202 g.

The first station A 202 a of the illustrated example is an access point.For example, the first station A 202 a may be commutatively coupled witha network (e.g., the Internet) to communicatively couple the otherstations 202 b-202 g to the network. Alternatively, the first station A202 a may be any other type of communication device. According to theillustrated example, the example first station A 202 a includes threeantennas for communicating with other devices. Alternatively, the firststation A 202 a may include any number of antennas.

The example second station B 202 b, the example third station C 202 c,the example fourth station D 202 d, the example fifth station E 202 e,the example sixth station F 202 f, and the example seventh station G 202g may be any type of communication device that communicates with thewith the example first station A 202 a.

Returning to the first station A 202 a, the example multi-destinationtransmitter 204 implements a multi-destination PHY mode for IEEE802.11ay, 60 GHz simultaneous communication with multiple devices (e.g.,the example second station B 202 b, the example third station C 202 c,the example fourth station D 202 d, the example fifth station E 202 e,the example sixth station F 202 f, and the example seventh station G 202g). The example multi-destination transmitter 204 determines, based onthe direction of the multiple devices 202 b-202 g, a group(s) of devices202 b-202 g to which information can be simultaneous transmittedutilizing separate antennas and/or separate antenna sectors withoututilizing omnidirectional transmission.

According to the illustrated example, the example multi-destinationtransmitter 204 determines that information can be simultaneouslytransmitted to the example second station B 202 b, the example thirdstation C 202 c, and the example fourth station D 202 d becausedifferent antennas and/or antenna sectors can be utilized forcommunicating with each of the example stations 202 b-202 d. Likewise,the example multi-destination transmitter 204 determines thatinformation can be simultaneously transmitted to the example fifthstation E 202 e, the example sixth station F 202 f, and the exampleseventh station G 202 g because different antennas and/or antennasectors can be utilized for communicating with each of the examplestations 202 e-202 g. Thus, according to the illustrated example, theexample multi-destination transmitter 204 simultaneously transmits tothe example second station B 202 b, the example third station C 202 c,and the example fourth station D 202 d at a first time t1 and transmitsto the example fifth station E 202 e, the example sixth station F 202 f,and the example seventh station G 202 g at a second time t2.

The example multi-destination transmitter 204 may simultaneouslytransmit the same information to multiple destinations, maysimultaneously transmit different information to different destinations,and/or any combination of the same information and differentinformation.

For example, when the multi-destination transmitter 204 receives a firstpacket of information to be transmitted to the example second station B202 b, a second packet of information to be transmitted to the examplethird station C 202 c, and a third packet of information to betransmitted to the example fourth station D 202 d, the examplemulti-destination transmitter 204 first simultaneously transmits acontrol signal (e.g., the same information) to each of the examplesecond station B 202 b, the example third station C 202 c, and theexample fourth station D 202 d. For example, the control signal may be amessage instructing the example receiving stations 202 b-202 d to expectto receive a forthcoming data transmission from the example firststation A 202 a so that the example receiving stations 202 b-202 d cantune their receivers to receive wireless signals from the direction ofthe example first station A 202 a. After transmitting the control signalto the example receivers 202 b-202 d, the example multi-destinationtransmitter 204 simultaneously transmits the example first packet to theexample second station B 202 b, transmits the example second packet tothe example third station C 202 c, and transmits the example thirdpacket to the example fourth station D 202 d.

FIG. 3 is a block diagram of an example implementation of the examplemulti-destination transmitter 204 of FIG. 2. The examplemulti-destination transmitter 204 of FIG. 3 includes an example datareceiver 302, an example destination determiner 304, an exampledirection determiner 306, an example training database 308, an examplequeue 310, an example transmission handler 312, an example delay handler314, and example antennas 316 a-316 c.

The example data receiver 302 receives data for wireless communication.According to the illustrated example, the data receiver 302 receivesdata from media access control (MAC) layer components of the examplefirst station A 102 a. Alternatively, the data may be received from anycomponent of the example first station A 202 a, from a devicecommunicatively coupled with the example first station A 202 a, etc. Theexample data receiver 302 sends the example data to the exampledestination determiner 304.

The example destination determiner 304 determines a destination devicefor the example data received via the example data receiver 302. Forexample, the example destination determiner 304 may extract adestination device name from the example data, may reference destinationinformation included in the example data with a lookup data to determinethe identity of the destination device, etc. The example destinationdeterminer 304 sends the example data and an identification of thedestination device to the example direction determiner 306.

The example direction determiner 306 determines a direction of thedestination device for the example data. According to the illustratedexample, the example direction determiner 306 determines the directionof the destination device by accessing a previously generated lookuptable stored in the example training database 308. Alternatively, theexample direction determiner 306 may initiate and/or perform a directiontraining process to determine the physical direction of the destinationof the example data. The example direction determiner 306 may determinethe direction of the destination device as a set of coordinates, a setof values that instruct one or more antennas to beamform a transmissionin the direction of the destination device, an identification of one ormore of the example antennas 316 a-316 c to be utilized forcommunicating with the example destination, etc. The example directiondeterminer 306 stores the example data and the determined directioninformation in the example queue 310.

The example training database 308 is a lookup table that storesdirection information learned about devices in communication with theexample first station A 202 a. For example, after the example firststation A 202 a has performed a training process to determine adirection of a destination device relative to the example first stationA 202 a, the destination device location and identification informationfor the destination device are stored in the example training data 308.The example training database 308 may alternatively be a database, afile, a cache, or any other type of data storage.

The example queue 310 is a cache that stores data to be transmitted toother stations. The example queue 310 receives data from the directiondeterminer 306. The example queue 310 receives requests for data fromthe example transmission handler 312 and/or pushes the data to theexample transmission handler 312. While the example queue 310 isimplemented by cache memory, the example queue 310 may alternatively beany other type of data storage such as a file, a buffer, a database,etc.

The example transmission handler 312 retrieves queued data from theexample queue 310 for transmission to remote stations (e.g., the examplestations 202 b-202 g of FIG. 2) and controls the timing/order oftransmission of the data. According to the illustrated example, thetransmission handler 312 determines a group(s) of data that may besimultaneously transmitted. The example transmission handler 312 of FIG.3 analyzes the location/direction of the destination stations 202 b-202g relative to the example first station A 202 a to determine thegroup(s) as a subset of the destination stations 202 b-202 g that may betransmitted-to using separate ones of the example antennas 316 a-316 cand/or separate sectors of the example antennas 316 a-316 c.

For example, the example transmission handler 312 may determine thatexample first station A 202 a will transmit data to the example secondstation B 202 b utilizing the example first antenna 316 a, will transmitdata to the example third station C 202 c utilizing the example secondantenna 316 b, and will transmit data to the example fourth station D202 d utilizing the example third antenna 316 c. Accordingly, theexample transmission handler 312 determines the example second station B202 b, the example third station C 202 c, and the example fourth stationD 202 d as a group to which data may be simultaneously transmitted.

In addition to determining that stations may be grouped because they maybe transmitted-to utilizing different ones of the example antennas 316a-316 c and/or separate sectors of the example antennas 316 a-316 c, thetransmission handler 312 may analyze other factors in determining how togroup transmissions to the example stations 202 b-202 g. For example,the example transmission handler 312 may determine that two stationsthat may be transmitted-to utilizing different ones of the antennas 316a-316 c and/or separate sectors of the example antennas 316 a-316 cshould not be grouped together if the two stations are located so neareach other that the transmissions may interfere with each other, maycombine to a beamformed transmission not directed to the two stations,etc.

The example transmission handler 312 transmits the data for the groupeddestination stations to the example delay handler 314. According to theillustrated example, the example transmission handler 312 additionallytransmits the direction information to the example delay handler 314 tofacilitate the example delay handler 314 determining if a delay shouldbe added to any of the signals transmitted via the example antennas 316a-316 c and/or adding a delay to the signals.

The example delay handler 314 determines if a delay should be added toany of the signals to be transmitted via the example antennas 316 a-316c and, if so, adds a delay to the signals. The example delay handler 314adds an increasing delay to each signal to be simultaneously transmittedto slightly offset the transmissions in time. For example, when theexample transmission handler 312 simultaneously transmits data to theexample second stations B 202 b, the example third station C 202 c, andthe example fourth station D 202 d, the example delay handler 314 willnot delay the transmission to the example second station B 202 b, willadd a, for example, 2 nanosecond (ns) delay to the transmission to thethird example station C 202 c, and will add a further 2 ns delay (for atotal of 4 ns delay from the first transmission) to the transmission tothe example fourth station D 202 d. While the example delay handler 314adds a 2 ns delay (e.g., any other delay amount may be utilized. Addinga small delay may reduce the likelihood that the transmissions willinterfere with each other (e.g., avoid causing undesired beamforming).According to the illustrated example, the added amount of time added bythe delay is significantly shorter than the amount of time for thetransmission and, thus, the transmissions to the example second examplestation B 202 b, the example third example station C 202 c, and theexample fourth station D 202 d are simultaneous (e.g., overlapping intime).

The example delay handler 314 determines if a delay is to be added tothe signals based on the type of transmission mode. When the exampledelay handler 314 determines that the same data (e.g., a single framefrom a single transmit chain) is being transmitted to multipledestination stations, the example delay handler 314 does not add adelay. In such an example, because the same frame is transmitted indifferent directions, there will be limited or no interference betweenthe transmission signals. Alternatively, the delay handler 314 may add adelay to transmissions of, for example, the same frame to further reducethe possibility of interference.

Some implementations of the example multi-destination transmitter 204 donot include the delay handler 314 (e.g., where it is known that based,for example, on the locations of the destination stations 202 b-202 g,that no delaying is required). In such implementations, the transmissionhandler 312 transmits the data directly to the example antennas 316a-316 c for transmission to the example destination stations 202 b-202g.

The example multi-destination transmitter 204 includes the example threeantennas 316 a-316 c. According to the illustrated example, the exampleantennas 316 a-316 c are directional antennas that are arranged toprovide substantially omnidirectional wireless transmitting andreceiving for the example first station A 202 a. Alternatively, anyother type and/or number of antennas may be utilized (e.g., moreantennas, fewer antennas, multi-directional antennas, etc.).

While an example manner of implementing the multi-destinationtransmitter 204 of FIG. 2 is illustrated in FIG. 3, one or more of theelements, processes and/or devices illustrated in FIG. 3 may becombined, divided, re-arranged, omitted, eliminated and/or implementedin any other way. Further, the example data receiver 302, the exampledestination determiner 304, the example direction determiner 306, theexample training database 308, the example queue 310, the exampletransmission handler 312, the example delay handler 314, the exampleantennas 316 a-316 c and/or, more generally, the examplemulti-destination transmitter 204 of FIG. 2 may be implemented byhardware, software, firmware and/or any combination of hardware,software and/or firmware. Thus, for example, any of the example datareceiver 302, the example destination determiner 304, the exampledirection determiner 306, the example training database 308, the examplequeue 310, the example transmission handler 312, the example delayhandler 314, the example antennas 316 a-316 c and/or, more generally,the example multi-destination transmitter 204 of FIG. 2 could beimplemented by one or more analog or digital circuit(s), logic circuits,programmable processor(s), application specific integrated circuit(s)(ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)). When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example datareceiver 302, the example destination determiner 304, the exampledirection determiner 306, the example training database 308, the examplequeue 310, the example transmission handler 312, the example delayhandler 314, the example antennas 316 a-316 c and/or, more generally,the example multi-destination transmitter 204 is/are hereby expresslydefined to include a tangible computer readable storage device orstorage disk such as a memory, a digital versatile disk (DVD), a compactdisk (CD), a Blu-ray disk, etc. storing the software and/or firmware.Further still, the example multi-destination transmitter 204 of FIG. 2may include one or more elements, processes and/or devices in additionto, or instead of, those illustrated in FIG. 3, and/or may include morethan one of any or all of the illustrated elements, processes anddevices.

A flowchart representative of example machine readable instructions forimplementing the multi-destination transmitter 204 of FIGS. 2 and/or 3is shown in FIG. 4. In this example, the machine readable instructionscomprise a program for execution by a processor such as the processor612 shown in the example processor platform 600 discussed below inconnection with FIG. 6. The program may be embodied in software storedon a tangible computer readable storage medium such as a CD-ROM, afloppy disk, a hard drive, a digital versatile disk (DVD), a Blu-raydisk, or a memory associated with the processor 612, but the entireprogram and/or parts thereof could alternatively be executed by a deviceother than the processor 612 and/or embodied in firmware or dedicatedhardware. Further, although the example program is described withreference to the flowchart illustrated in FIG. 4, many other methods ofimplementing the example multi-destination transmitter 204 mayalternatively be used. For example, the order of execution of the blocksmay be changed, and/or some of the blocks described may be changed,eliminated, or combined.

As mentioned above, the example processes of FIG. 4 may be implementedusing coded instructions (e.g., computer and/or machine readableinstructions) stored on a tangible computer readable storage medium suchas a hard disk drive, a flash memory, a read-only memory (ROM), acompact disk (CD), a digital versatile disk (DVD), a cache, arandom-access memory (RAM) and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals and to exclude transmission media. Asused herein, “tangible computer readable storage medium” and “tangiblemachine readable storage medium” are used interchangeably. Additionallyor alternatively, the example processes of FIG. 4 may be implementedusing coded instructions (e.g., computer and/or machine readableinstructions) stored on a non-transitory computer and/or machinereadable medium such as a hard disk drive, a flash memory, a read-onlymemory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media. As usedherein, when the phrase “at least” is used as the transition term in apreamble of a claim, it is open-ended in the same manner as the term“comprising” is open ended.

The process of FIG. 4 begins when the example data receiver 302 of theexample multi-destination transmitter 204 receives data for transmission(block 402). For example, the data receiver 302 may receive data from aMAC layer of the example first station A 202 a. The example destinationdeterminer 304 determines a destination device (e.g., the example seconddevice B 202 b) for the data (block 404). For example, the exampledestination determiner 304 may determine a MAC address of the examplesecond device B 202 b identified in the data (e.g., identified in apacket header associated with the data). The data to be transmitted maybe any type of data. For example, the data may be a directionalmultigigabit (DMG) control PHY frame, a DMG low power single-carrier PHYframe, a DMG single-carrier PHY frame, a DMG orthogonalfrequency-division multiplexing (OFDM) PHY frame, an enhanced directionmultigigabit (EDMG) control PHY frame, an EDMG single-carrier PHY frame,an EDMG OFDM PHY frame, etc.

After the example destination determiner 304 determines anidentification of the destination (e.g., the example second device B 202b) for the data (block 404), the example direction determiner 306accesses the example training database 308 using the identification ofthe example second device B 202 b to retrieve a direction for theexample second device B 202 b (block 406). For example, the trainingdatabase 308 may be populated using known techniques such as, forexample, by the first station A 202 a performing a training process inwhich the directions and/or antenna information for other stations(e.g., the example stations 202 b-202 g are determined and/or measured).The example training database 308 stores a lookup table to translate anidentification of a device to a direction for the device (e.g., anidentification of an antenna, antenna sector, and/or beamformingparameters for transmitting data in the direction of the device). Theexample direction determiner 306 adds data with identification of thedestination device (e.g., the example second device B 202 b) and thedirection information to the example queue 310. According to theillustrated example, the example queue 310 has already been populatedwith previously received data for which blocks 402-408 have already beenperformed. Additionally or alternatively, the data to be transmitted mayidentify multiple destinations for which the direction determiner 306determines a direction and adds the information to the example queue310.

The example transmission handler 312 selects, from the example queue310, a subset of the destination devices for transmission using uniqueantennas and/or antenna sectors (e.g., different ones of the exampleantennas 316 a-316 c, different sectors of the example antennas 316a-316 c, etc.) for each device (block 410). For example, thetransmission handler 312 may select the example second device B 202 b,the example third device C 202 c, and the example fourth device D 202 dbecause each of the devices can be transmitted-to using different onesof the example antennas 316 a-316 c and/or different sectors of theexample antennas 316 a-316 c. For example, the transmission handler 312may determine which devices utilize unique antennas and/or sectors bydetermining the number of antennas and/or antenna sectors available tothe example multi-destination transmitter 204 and analyzing theinformation stored in the queue 310 to determine a device to betransmitted-to using each of the available antennas 316 a-316 c and/orantenna sectors (or a subset of the example antennas 316 a-316 c whenthere is no destination for one or more of the antennas 316 a-316 cand/or antenna sectors).

In some examples, the data selected for transmission may be the samedata for each of the destinations. In other examples the data selectedfor transmission may be different data to be transmitted to some or allof the destinations. The data may also be transmitted in two phases(e.g., a first phase during which a control frame is transmitted to eachof the destinations to alert the destination that data is about to betransmitted and a second phase during which the data is transmitted). Insome examples, the two phases utilize the same antenna weighting values(AWV), but utilize different pre-coding and/or post-coding. For example,the example transmission handler 312 may utilize no pre-coding whensimultaneously transmitting the same information to all destinations,but may perform pre-coding and/or post-coding when transmittingdifferent data to some or all of the destinations.

After the subset of the destination devices (e.g., the example devices202 b-202 d) have been selected by the example transmission handler 312,the example transmission handler 312 and/or the example delay handler314 transmit the intended data to the subset of the destination devicesvia the example antennas 316 a-316 c (block 412). The exampletransmission handler 312 then removes the subset of the destinationdevices from the example queue 310 (block 414). The example transmissionhandler 312 determines if there are additional destinations in theexample queue 310 (block 416). When there are additional destinations inthe example queue 310, control returns to block 410 to select the nextsubset (block 410), transmit the data to the subset (block 412), andremove the subset from the example queue 310 (block 414). When there areno additional destinations in the example queue 310, the process of FIG.4 terminates.

FIG. 5 is a block diagram of an example packet 500 according to theexample multi-destination PHY mode disclosed herein for transmission bythe example multi-destination transmitter 204. The example packet 500includes an example legacy short training block (L-STF) 502, an examplelegacy channel estimation (L-CE) block 504, an example legacy headerfield (L-Header) 506, an example enhanced directional multigigabit A(EDMGA) block 508, an example first automatic gain control (AGC) block510, an example channel estimation (CE) block 512, an example enhanceddirectional multigigabit B (EDMGB) block 514, an example data block 516,an example second AGC block 518, and an example beamtracking (TRN-R)block 520.

According to the illustrated example of FIG. 5, the example blocks502-508 are transmitted during a first mode of operation 530 of themulti-destination PHY mode in which the same frames are transmitted tomultiple destinations using one antenna and/or antenna sector perdestination with a delay of approximately 2 ns between channels.According to the illustrated example of FIG. 5, the example blocks510-520 are transmitted during a second mode of operation 534 of themulti-destination PHY mode in which different data is transmitted to themultiple destinations. According to the illustrated example, the exampleblocks 510-520 transmitted during the second mode of operation aretransmitted by the transmission handler 312 utilizing a multiusermultiple-input-multiple-output (MU-MIMO) transmission matrix (e.g.,without delays between the channels) to ensure that the simultaneoustransmissions to the multiple devices (e.g., in different directions) donot create interference. According to the illustrated example, the sameAWV is utilized for both the example first mode 530 and the examplesecond mode 534 with different digital pre-coding/post-coding.Alternatively, the same digital processing can be utilized for bothmodes 530, 534.

FIG. 6 is a block diagram of an example processor platform 600 capableof executing the instructions of FIGS. 4 to implement the examplemulti-destination transmitter 204 of FIGS. 2 and/or 3. The processorplatform 600 can be, for example, a server, a personal computer, amobile device (e.g., a cell phone, a smart phone, a tablet such as aniPad™), a personal digital assistant (PDA), an Internet appliance, a DVDplayer, a CD player, a digital video recorder, a Blu-ray player, agaming console, a personal video recorder, a set top box, or any othertype of computing device.

The processor platform 600 of the illustrated example includes aprocessor 612. The processor 612 of the illustrated example is hardware.For example, the processor 612 can be implemented by one or moreintegrated circuits, logic circuits, microprocessors or controllers fromany desired family or manufacturer.

The processor 612 of the illustrated example includes a local memory 613(e.g., a cache). The example processor 612 includes the example datareceiver 302, the example destination determiner 304, the exampledirection determiner 306, the example transmission handler 312, and theexample delay handler 314. The processor 612 of the illustrated exampleis in communication with a main memory including a volatile memory 614and a non-volatile memory 616 via a bus 618. The volatile memory 614 maybe implemented by Synchronous Dynamic Random Access Memory (SDRAM),Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory(RDRAM) and/or any other type of random access memory device. Thenon-volatile memory 616 may be implemented by flash memory and/or anyother desired type of memory device. Access to the main memory 614, 616is controlled by a memory controller.

The processor platform 600 of the illustrated example also includes aninterface circuit 620. The interface circuit 620 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface. The exampleinterface circuit 620 interfaces with the example antennas 316 a-316 c.

In the illustrated example, one or more input devices 622 are connectedto the interface circuit 620. The input device(s) 622 permit(s) a userto enter data and commands into the processor 612. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 624 are also connected to the interfacecircuit 620 of the illustrated example. The output devices 624 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a printer and/or speakers). The interface circuit 620 ofthe illustrated example, thus, typically includes a graphics drivercard, a graphics driver chip or a graphics driver processor.

The interface circuit 620 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network626 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 600 of the illustrated example also includes oneor more mass storage devices 628 for storing software and/or data.Examples of such mass storage devices 628 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives. The example massstorage devices 628 store the example training database 308 and theexample queue 310.

The coded instructions 632 of FIG. 4 may be stored in the mass storagedevice 628, in the volatile memory 614, in the non-volatile memory 616,and/or on a removable tangible computer readable storage medium such asa CD or DVD.

Examples may include subject matter such as a method, means forperforming acts of the method, at least one machine-readable mediumincluding instructions that, when performed by a machine cause themachine to performs acts of the method, or of an apparatus or system formulti-destination wireless transmissions according to embodiments andexamples described herein.

Example 1 is a multi-destination transmitter that comprises a directiondeterminer to determine directions for wireless transmission of data todestination devices; and a transmission handler to: select a subset ofthe destination devices that are associated with different ones of atleast one of a plurality of antennas or a plurality of antenna sectorsof the plurality of antennas as indicated by the directions determinedby the direction determiner; and transmit the data to the subset of thedestination devices via the plurality of antennas.

Example 2 includes the subject matter of Example 1, wherein thetransmission handler is to simultaneously: transmit the data to a firstdevice of the subset of the destination devices by beamforming a firsttransmission in a first direction of the first device determined by thedirection determiner; and transmit the data to a second device of thesubset of the destination devices by beamforming a second transmissionin a second direction of the second device determined by the directiondeterminer.

Example 3 includes the subject matter of Example 1, wherein thetransmission handler is to simultaneously transmit the same data to eachof the destination devices in the subset of the destination device.

Example 4 includes the subject matter of Example 2 or Example 3 andfurther includes a delay handler to add a delay between the simultaneoustransmissions to each of the destination devices in the subset of thedestination devices.

Example 5 includes the subject matter of one of Examples 1-3 and furtherincludes a data receiver to receive the data from a media access controllayer of a station associated with the multi-destination transmitter.

Example 6 includes the subject matter of one of Examples 1-3 and furtherincludes a training database to store a lookup table of devices anddirections to be analyzed by the direction determiner.

Example 7 includes the subject matter of Example 1, wherein thetransmission handler is to transmit the data to the subset of thedestination devices via the antennas by simultaneously transmittingfirst data to a first device of the subset of the destination devicesand transmitting second data to a second device of the subset of thedestination devices.

Example 8 includes the subject matter of Example 1, wherein thetransmission handler is to transmit the data to the subset of thedestination devices by: transmitting a first portion of a packet,wherein the same first portion of the packet is transmitted to each ofthe subset of the destination devices; and transmitting a second portionof the packet, wherein the second portion of the packet is different ineach of the transmissions to the subset of the destination devices andincludes data received by the multi-destination transmitter fortransmission to the destination devices.

Example 9 includes the subject matter of one of Examples 1-3, whereinthe transmission handler is to transmit the data using a protocol thatoperates at greater than or equal to 60 gigahertz.

Example 10 is a method for multi-destination data transmission thatcomprises: determining directions for wireless transmission of data todestination devices; selecting a subset of the destination devices thatare associated with different ones of at least one of a plurality ofantennas or a plurality of antenna sectors of the plurality of antennasas indicated by the determined directions; and transmitting the data tothe subset of the destination devices via the plurality of antennas.

Example 11 includes the subject matter of Example 10 and furtherincludes simultaneously: transmitting the data to a first device of thesubset of the destination devices by beamforming a first transmission ina first direction of the first device determined by the directiondeterminer; and transmitting the data to a second device of the subsetof the destination devices by beamforming a second transmission in asecond direction of the second device determined by the directiondeterminer.

Example 12 includes the subject matter of Example 10 and furtherincludes simultaneously transmitting the same data to each of thedestination devices in the subset of the destination device.

Example 13 includes the subject-matter of Example 11 or Example 12 andfurther includes adding a delay between the simultaneous transmissionsto each of the destination devices in the subset of the destinationdevices.

Example 14 includes the subject matter of one of Examples 10-12 andfurther includes receiving the data from a media access control layer ofa station transmitting the data.

Example 15 includes the subject matter of one of Examples 10-12 andfurther includes storing a lookup table of devices and directions to beanalyzed by the direction determiner.

Example 16 includes the subject matter of Example 10, wherein thetransmitting includes simultaneously transmitting first data to a firstdevice of the subset of the destination devices and transmitting seconddata to a second device of the subset of the destination devices.

Example 17 includes the subject matter of Example 10, wherein thetransmitting includes: transmitting a first portion of a packet, whereinthe same first portion of the packet is transmitted to each of thesubset of the destination devices; and transmitting a second portion ofthe packet, wherein the second portion of the packet is different ineach of the transmissions to the subset of the destination devices andincludes data received for transmission to the destination devices.

Example 18 includes the subject matter of one of Examples 10-12, whereinthe transmitting uses a protocol that operates at greater than or equalto 60 gigahertz.

Example 19 is an article of manufacture comprising instructions that,when executed, cause a machine to at least: determine directions forwireless transmission of data to destination devices; select a subset ofthe destination devices that are associated with different ones of atleast one of a plurality of antennas or a plurality of antenna sectorsof the plurality of antennas as indicated by the determined directions;and transmit the data to the subset of the destination devices via theplurality of antennas.

Example 20 includes the subject matter of Example 19, wherein theinstructions, when executed, cause the machine to simultaneously:transmit the data to a first device of the subset of the destinationdevices by beamforming a first transmission in a first direction of thefirst device determined by the direction determiner; and transmit thedata to a second device of the subset of the destination devices bybeamforming a second transmission in a second direction of the seconddevice determined by the direction determiner.

Example 21 includes the subject matter Example 19, wherein theinstructions, when executed, cause the machine to simultaneouslytransmit the same data to each of the destination devices in the subsetof the destination device.

Example 22 includes the subject matter Example 20 or Example 21, whereinthe instructions, when executed, cause the machine to add a delaybetween the simultaneous transmissions to each of the destinationdevices in the subset of the destination devices.

Example 23 includes the subject matter one of Examples 19-21, whereinthe instructions, when executed, cause the machine to receiving the datafrom a media access control layer of a station transmitting the data.

Example 24 includes the subject matter one of Examples 19-21, whereinthe instructions, when executed, cause the machine to store a lookuptable of devices and directions to be analyzed by the directiondeterminer.

Example 25 includes the subject matter of Example 19, wherein theinstructions, when executed, cause the machine to transmit bysimultaneously transmitting first data to a first device of the subsetof the destination devices and transmitting second data to a seconddevice of the subset of the destination devices.

Example 26 includes the subject matter of Example 19, wherein theinstructions, when executed, cause the machine to transmit by:transmitting a first portion of a packet, wherein the same first portionof the packet is transmitted to each of the subset of the destinationdevices; and transmitting a second portion of the packet, wherein thesecond portion of the packet is different in each of the transmissionsto the subset of the destination devices and includes data received fortransmission to the destination devices.

Example 27 includes the subject matter of one of Examples 19-21, whereinthe instructions, when executed, cause the machine to transmit using aprotocol that operates at greater than or equal to 60 gigahertz.

Example 28 is an apparatus for multi-destination wireless transmissionthat comprises: first means to determine directions for wirelesstransmission of data to destination devices; second means to select asubset of the destination devices that are associated with differentones of at least one of a plurality of antennas or a plurality ofantenna sectors of the plurality of antennas as indicated by thedirections determined by the direction determiner; and third means totransmit the data to the subset of the destination devices via theplurality of antennas.

Example 29 includes the subject matter of Example 28, wherein the thirdmeans is to simultaneously: transmit the data to a first device of thesubset of the destination devices by beamforming a first transmission ina first direction of the first device determined by the directiondeterminer; and transmit the data to a second device of the subset ofthe destination devices by beamforming a second transmission in a seconddirection of the second device determined by the direction determiner.

Example 30 includes the subject matter of Example 28, wherein the thirdmeans is to simultaneously transmit the same data to each of thedestination devices in the subset of the destination device.

Example 31 includes the subject matter of Example 29 or Example 30 andfurther includes fourth means to add a delay between the simultaneoustransmissions to each of the destination devices in the subset of thedestination devices.

Example 32 includes the subject matter of one of Examples 28-30 andfurther includes fourth means to receive the data from a media accesscontrol layer of a station associated with the apparatus.

Example 33 includes the subject matter of one of Examples 28-30 andfurther includes fourth means to store a lookup table of devices anddirections to be analyzed by the direction determiner.

Example 34 includes the subject matter of Example 28, wherein the thirdmeans is to transmit the data to the subset of the destination devicesvia the antennas by simultaneously transmitting first data to a firstdevice of the subset of the destination devices and transmitting seconddata to a second device of the subset of the destination devices.

Example 35 includes the subject matter of Example 28, wherein the thirdmeans is to transmit the data to the subset of the destination devicesby: transmitting a first portion of a packet, wherein the same firstportion of the packet is transmitted to each of the subset of thedestination devices; and transmitting a second portion of the packet,wherein the second portion of the packet is different in each of thetransmissions to the subset of the destination devices and includes datareceived by the apparatus for transmission to the destination devices.

Example 36 includes the subject matter of one of Examples 28-30, whereinthe third means is to transmit the data using a protocol that operatesat greater than or equal to 60 gigahertz.

Example 37 is a system for multi-destination wireless transmission thatcomprises a plurality of destination devices including wirelesstransceivers; a source device including a plurality of antennas and amulti-destination transmitter to: determine directions for wirelesstransmission of data to the plurality of destination devices; select asubset of the plurality of destination devices that are associated withdifferent ones of at least one of the plurality of antennas or aplurality of antenna sectors of the plurality of antennas as indicatedby the directions determined by the direction determiner; and transmitthe data to the subset of the plurality of destination devices via theplurality of antennas.

Example 38 includes the subject matter of Example 37, wherein themulti-destination transmitter to is to simultaneously: transmit the datato a first device of the subset of the plurality of destination devicesby beamforming a first transmission in a first direction of the firstdevice determined by the direction determiner; and transmit the data toa second device of the subset of the plurality of destination devices bybeamforming a second transmission in a second direction of the seconddevice determined by the direction determiner.

Example 39 includes the subject matter of Example 37, wherein themulti-destination transmitter is to simultaneously transmit the samedata to each of the plurality of destination devices in the subset ofthe destination device.

Example 40 includes the subject matter of Example 38 or Example 39,wherein the multi-destination transmitter is to add a delay between thesimultaneous transmissions to each of the plurality of destinationdevices in the subset of the plurality of destination devices.

Example 41 includes the subject matter of one of Examples 37-39, whereinthe multi-destination transmitter is to receive the data from a mediaaccess control layer of a station associated with the system.

Example 42 includes the subject matter of one of Examples 37-39, whereinthe multi-destination transmitter is to store a lookup table of devicesand directions to be analyzed by the direction determiner.

Example 43 includes the subject matter of Example 37, wherein themulti-destination transmitter is to transmit the data to the subset ofthe plurality of destination devices via the antennas by simultaneouslytransmitting first data to a first device of the subset of the pluralityof destination devices and transmitting second data to a second deviceof the subset of the plurality of destination devices.

Example 44 includes the subject matter of Example 37, wherein themulti-destination transmitter is to transmit the data to the subset ofthe plurality of destination devices by: transmitting a first portion ofa packet, wherein the same first portion of the packet is transmitted toeach of the subset of the plurality of destination devices; andtransmitting a second portion of the packet, wherein the second portionof the packet is different in each of the transmissions to the subset ofthe plurality of destination devices and includes data received by thesystem for transmission to the plurality of destination devices.

Example 45 includes the subject matter of one of Examples 37-39, whereinthe multi-destination transmitter is to transmit the data using aprotocol that operates at greater than or equal to 60 gigahertz.

While the foregoing description includes the example multi-destinationtransmitter 204 in the first station A 202 a of FIG. 2, the otherexample devices 202 b-202 g may additionally include themulti-destination transmitter 204. However, in implementations in whichthe first station A 202 a transmits, via the multi-destinationtransmitter 204 to, for example, the second station B 202 b, the examplesecond station B 202 b does not necessarily need to be made aware thatthe multi-destination transmission is occurring. For example, during thefirst mode transmission of the same frame to multiple destinations, thesecond station B 202 b may receive multiple ones of the transmissionsand may provide multiple responses to the example first station A 202 a.However, as the first station A 202 a may not be expecting a response,the responses may be ignored by the first station A 202 a, the responsemay be decoded (e.g., if the response frame from different stations isthe same), etc. Alternatively, in instances in which the destinationstation (e.g., the example second station B 202 b) is aware thatmulti-destination transmission mode is being utilized, the examplesecond station B 202 b can transmit the response in a manner that willbe decodable by the example first station A 202 a. For example, theexample second station B 202 b could transmit the received frame back tothe first station A 202 a as a response. The second station B 202 b mayadditionally or alternatively utilized a multiplex protocol in time,frequency, or space to ensure that a response (and the responses ofother stations) can be received by the example first station A 202 a.

From the foregoing, it will be appreciated that the above disclosedmethods, apparatus and articles of manufacture facilitate wirelesstransmissions to multiple devices without the reduction in transmissionrange and quality that results from omnidirectional transmissions. Forexample, for a given transmission power usage, the disclosedmulti-destination PHY mode transmission provided by the examplemulti-destination transmitter can simultaneously communicate withmultiple devices utilizing separate antennas and/or antenna sectors at alonger range than an omnidirectional transmission orquasi-omnidirectional transmission utilizing the same transmission powerusage. Furthermore, the simultaneous communication provided by theexample multi-destination PHY mode transmission provided by the examplemulti-destination transmitter does not include delays inherent inserially performing directional transmissions to multiple devices (e.g.,communicating with a first device at a first time and then communicatingwith a second device at second time after the first time).

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. A multi-destination transmitter comprising: adirection determiner to determine directions for wireless transmissionof data to destination devices; and a transmission handler to: select afirst antenna associated with a first device of the destination devicesas indicated by the directions determined by the direction determiner;select a second antenna associated with a second device of thedestination devices as indicated by the directions determined by thedirection determiner; and determine if a request to transmit first dataidentifies multiple destinations; in response to the multipledestinations identified in the request, transmit the first data,simultaneously, to the first device via the selected first antenna andthe same first data to the second device via the selected secondantenna; and in response to a single destination identified in therequest, transmit the first data to the first device via the selectedfirst antenna at a first time, and transmit second data to the seconddevice via the selected second antenna at a second time, wherein thesecond data is different than the first data.
 2. The multi-destinationtransmitter of claim 1, wherein the transmission handler is tosimultaneously: transmit the data to the first device by beamforming afirst transmission in a first direction of the first device determinedby the direction determiner; and transmit the data to the second deviceby beamforming a second transmission in a second direction of the seconddevice determined by the direction determiner.
 3. The multi-destinationtransmitter of claim 1, wherein the transmission handler is tosimultaneously transmit the same data to each of the destinationdevices.
 4. The multi-destination transmitter of claim 3, furtherincluding a delay handler to add a delay between the simultaneoustransmissions to each of the destination devices.
 5. Themulti-destination transmitter of claim 1, further including a datareceiver to receive the data from a media access control layer of astation associated with the multi-destination transmitter.
 6. Themulti-destination transmitter of claim 1, further including a trainingdatabase to store a lookup table of devices and directions to beanalyzed by the direction determiner.
 7. The multi-destinationtransmitter of claim 1, wherein the transmission handler is to transmitthe data using a protocol that operates at greater than or equal to 60gigahertz.
 8. A multi-destination transmitter comprising: a firstantenna; a second antenna; at least one logic circuit to: determinedirections for wireless transmission of data to destination devices;select the first antenna associated with a first device of thedestination devices as indicated by the determined directions; selectthe second antenna associated with a second device of the destinationdevices as indicated by the determined directions; and determine if arequest to transmit the data identifies multiple destinations; inresponse to the multiple destinations identified in the request, causetransmission of the data, simultaneously, to the first device via theselected first antenna and the same data to the second device via theselected second antenna; and in response to a single destinationidentified in the request, cause transmission of first data to the firstdevice via the selected first antenna at a first time, and causetransmission of second data to the second device via the selected secondantenna at a second time, wherein the second data is different than thefirst data.
 9. The multi-destination transmitter of claim 8, wherein theat least one logic circuit is to simultaneously: cause transmission ofthe data to the first device by beamforming a first transmission in afirst determined direction of the first device; and cause transmissionof the data to the second device by beamforming a second transmission ina second determined direction of the second device.
 10. Themulti-destination transmitter of claim 8, wherein the at least one logiccircuit is to simultaneously cause transmission of the same data to eachof the destination devices.
 11. The multi-destination transmitter ofclaim 10, wherein the at least one logic circuit is to add a delaybetween the simultaneous transmissions to each of the destinationdevices.
 12. The multi-destination transmitter of claim 8, wherein theat least one logic circuit is to obtain the data from a media accesscontrol layer of a station associated with the multi-destinationtransmitter.
 13. The multi-destination transmitter of claim 8, whereinthe at least one logic circuit is to cause storage of a lookup table ofdevices and directions to be analyzed by the at least one logic circuit.14. The multi-destination transmitter of claim 8, wherein the at leastone logic circuit is to cause transmission of the data using a protocolthat operates at greater than or equal to 60 gigahertz.
 15. Anon-transitory computer readable storage medium comprising instructionsthat, when executed, cause a machine to at least: determine directionsfor wireless transmission of data to destination devices; select a firstantenna associated with a first device of the destination devices asindicated by the determined directions; select a second antennaassociated with a second device of the destination devices as indicatedby the determined directions; and determine if a request to transmitfirst data identifies multiple destinations; in response to the multipledestinations identified in the request, cause transmission of the firstdata, simultaneously, to the first device via the selected first antennaand the same first data to the second device via the selected secondantenna; and in response to a single destination identified in therequest, cause transmission of the first data to the first device viathe selected first antenna at a first time, and cause transmission ofsecond data to the second device via the selected second antenna at asecond time, wherein the second data is different than the first data.16. The non-transitory computer readable storage medium of claim 15,wherein the instructions, when executed, cause the machine tosimultaneously: cause transmission of the data to the first device bybeamforming a first transmission in a first determined direction of thefirst device; and cause transmission of the data to the second device bybeamforming a second transmission in a second determined direction ofthe second device.
 17. The non-transitory computer readable storagemedium of claim 15, wherein the instructions, when executed, cause themachine to simultaneously cause transmission of the same data to each ofthe destination devices.
 18. The non-transitory computer readablestorage medium of claim 17, wherein the instructions, when executed,cause the machine to add a delay between the simultaneous transmissionsto each of the destination devices.
 19. The non-transitory computerreadable storage medium of claim 15, wherein the instructions, whenexecuted, cause the machine to obtain the data from a media accesscontrol layer of a station associated with the multi-destinationtransmitter.
 20. The non-transitory computer readable storage medium ofclaim 15, wherein the instructions, when executed, cause the machine tocause storage of a lookup table of devices and directions to be analyzedby the non-transitory computer readable storage medium.